package org.lc.stk.service.bank;

import org.lc.stk.model.banks.PaperBank;
import org.lc.stk.web.dto.bank.PaperBankDTO;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

public interface PaperBankService {
    
    /**
     * 创建试卷库
     */
    PaperBank create(PaperBankDTO dto);

    /**
     * 更新试卷库
     */
    PaperBank update(Integer id, PaperBankDTO dto);

    /**
     * 删除试卷库，逻辑删除，停用
     */
    void delete(Integer id);

    /**
     * 根据ID获取试卷库
     */
    PaperBank getById(Integer id);

    /**
     * 分页查询试卷库
     */
    Page<PaperBank> query(String name, Integer state, Pageable pageable);

    /**
     * 检查试卷库名称是否存在
     */
    boolean isNameExists(String name, Integer excludeId);

    /**
     * 根据试卷模板ID获取关联的试卷库
     */
    PaperBank getByTemplateId(Integer templateId);
}